home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / freeWAIS-sf-1.1 / ir / synonym.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-09-04  |  825 b   |  43 lines

  1.  
  2. /* Copyright (c) CNIDR (see ../COPYRIGHT) */
  3.  
  4. #ifndef __SYNONYM_H
  5. #  define _SYNONYM_H
  6. #include "cdialect.h"
  7. struct s_Synonym {
  8.   char *root;
  9.   char *key;
  10. };
  11.  
  12. typedef struct s_Synonym t_Synonym;
  13.  
  14. #define synptr( elem ) syn_Table[*syn_Table_Size-1].elem
  15. #define SYN_FILE_LINE_LENGTH 2048
  16.  
  17. #ifdef CACHE_SYN
  18. /* use shared memory to keep around synonym tables */
  19. #include <sys/ipc.h>
  20. #include <sys/shm.h>
  21.  
  22. #define MAX_SYN_CACHE 16
  23.  
  24. /* key to master shmem area */
  25. extern int cacheSynId;
  26.  
  27. struct s_cacheSyn {
  28.   int id;
  29.   char synfile [256];
  30.   int table_size;
  31. };
  32. typedef struct s_cacheSyn t_cacheSyn;
  33.  
  34. #endif /* CACHE_SYN */
  35.  
  36. /* prototypes */
  37.  
  38. int syn_compare _AP((void*,void* ));
  39. char* lookup_Synonym _AP(( char*,t_Synonym*,int ));
  40. void syn_ReadFile _AP(( char*,t_Synonym**,int* ));
  41. void syn_Free _AP(( t_Synonym*,int* ));
  42. #endif
  43.